home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 125 / Computer Shopper CD-ROM Issue 125 (1998-07)(Dennis Publishing).iso / Business / Dazzler / DAZZLER.Z / CReadAction.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-26  |  2.5 KB  |  102 lines

  1. import java.io.DataInputStream;
  2. import java.io.IOException;
  3. import java.net.MalformedURLException;
  4. import java.net.URL;
  5.  
  6. public class CReadAction extends CAction {
  7.    static final int READ_SECTION = 1;
  8.    protected String m_strFilename;
  9.    protected int m_nFlags = 0;
  10.    protected int m_nVariableID = 0;
  11.    protected String m_strDelimiter;
  12.    protected String m_strSection;
  13.  
  14.    boolean DoAction() {
  15.       String var1 = "";
  16.       URL var2 = null;
  17.       String var3 = "";
  18.       if (this.m_strFilename.length() > 0) {
  19.          if (Globals.CUR_COURSE != null) {
  20.             var1 = Globals.CUR_COURSE.ConstructFileName(this.m_strFilename);
  21.          }
  22.  
  23.          try {
  24.             var2 = new URL(Globals.thePresView.getCodeBase(), var1);
  25.          } catch (MalformedURLException var9) {
  26.             System.out.println("Bad URL: " + var1);
  27.          }
  28.  
  29.          try {
  30.             var3 = (String)var2.getContent();
  31.          } catch (IOException var8) {
  32.             System.out.println("Error: The file " + var1 + " could not be read");
  33.          }
  34.  
  35.          if ((this.m_nFlags & 1) != 0 && this.m_strSection.length() > 0 && this.m_strDelimiter.length() > 0 && (var3 = this.ReadSection(var3)) == null) {
  36.             return false;
  37.          }
  38.  
  39.          CVariable var4 = Utils.SearchAllVariables(this.m_nVariableID);
  40.          if (var4 != null) {
  41.             if (var4.IsStringType() != 0) {
  42.                var4.SetValue(var3);
  43.             } else if (var4.IsNumericType() != 0) {
  44.                double var5;
  45.                try {
  46.                   var5 = Double.valueOf(var3);
  47.                } catch (NumberFormatException var7) {
  48.                   var5 = (double)0.0F;
  49.                }
  50.  
  51.                var4.SetValue(var5);
  52.             }
  53.          }
  54.       }
  55.  
  56.       return true;
  57.    }
  58.  
  59.    String ReadSection(String var1) {
  60.       int var2 = 0;
  61.       int var3 = 0;
  62.       String var4 = null;
  63.       String var5 = Utils.InsertVariablesInString(this.m_strSection);
  64.       if ((var2 = var1.indexOf(var5)) != -1 && (var2 = var1.indexOf(10, var2)) != -1) {
  65.          ++var2;
  66.          var3 = var2;
  67.  
  68.          do {
  69.             var3 = var1.indexOf(this.m_strDelimiter, var3);
  70.          } while(var3 != -1 && var1.charAt(var3 - 1) != '\r' && var1.charAt(var3 - 1) != '\n');
  71.  
  72.          if (var3 == -1) {
  73.             var3 = var1.length();
  74.          } else {
  75.             while(var3 > var2 && var1.charAt(var3) != '\r') {
  76.                --var3;
  77.             }
  78.          }
  79.  
  80.          var4 = var1.substring(var2, var3);
  81.       }
  82.  
  83.       return var4;
  84.    }
  85.  
  86.    boolean LoadFromFile(DataInputStream var1) {
  87.       this.m_nFlags = FileLoad.ReadCPlusInt(var1);
  88.       this.m_nVariableID = (char)FileLoad.ReadCPlusInt(var1);
  89.       this.m_strFilename = FileLoad.ReadCString(var1);
  90.       if (Globals.CUR_COURSE.m_nFileVersion > 3) {
  91.          this.m_strDelimiter = FileLoad.ReadCString(var1);
  92.          this.m_strSection = FileLoad.ReadCString(var1);
  93.       }
  94.  
  95.       return super.LoadFromFile(var1);
  96.    }
  97.  
  98.    public CReadAction() {
  99.       super(43);
  100.    }
  101. }
  102.